package org.ray.pattern.jobmanager.batch;

import java.util.Set;

public interface BatchJob<T, Y>
{
	public T getBatchJobKey();
	public void setBatchJobKey(T key);
	
	public Set<SingleJob<T, Y>> getJobs();
	
	public void addSingleJob(SingleJob<T, Y> singleJob);
	
	public SingleJob<T, Y> removeSingleJob(SingleJob<T, Y> singleJob);
	public SingleJob<T, Y> removeSingleJob(Y singleJobKey);
	
	public boolean isEmpty();
	
	public int getJobCount();
}
